\section*{\large Problems and solutions }
\begin{normalsize}

In the following we list the main problems and how we solved them:
\begin{enumerate}
\item the ankle joints published in \emph{joint\_state\_raw} are always zero because the Kinect cannot see them clearly: under the assumption that the torso stays almost vertical the kinematic analysis of the squat leads to the model in Figure \ref{fig:squat} and the following relation between ankle, knee and hip joints:

\begin{equation*}
\theta_{ankle} = \theta_{hip} = - \frac{\theta_{knee}}{2}
\end{equation*}

We use this equality to estimate not only the ankle joints but also the knee joints because of the Kinect unreliability.

\begin{figure}[!htb]
\centering
\includegraphics[scale=0.5]{./images/squat.png}
\caption{the squat model \label{fig:squat}}
\end{figure}

\item Most of the time only one of the legs or arms is correctly tracked and often with the wrong sign: under the constraint that the robot right and left sides move symmetrically we keep the best leg and the best arm, i.e. the one with the maximum absolute angle values. Arm symmetry is optional but helpful for grasping.

\item The robot does not move smoothly: the filtered positions are the mean values of the last \emph{history\_length} values, we suggest to set it to five. Optionally, the published positions are the weighted mean of the starting and the filtered positions.

\item The robot is not able to strongly grasp the object and stand up: if the robot strongly grasps the object it consumes too much current and is not able to stand up without falling down, given that there is no current feedback system the only solution is to slightly grasp it from the bottom and approach it to the torso while standing up.

\end{enumerate}

We also set the robot \emph{right\_hip\_joint\_roll} to -0.2 because spread legs distribute the mass of the body and decrease the effect of external forces applied with the effect of increasing its stability. To this purpose, the gyroscope did not prove to be useful in improving the robot performances because most of the times it falls as a result of the last enumerated problem and any feedback would be too late for any effective correction. Finally, we did not encounter any problem due to the motor resonance.

\end{normalsize}

\section*{\large Conclusions }
\begin{normalsize}
We succeeded in making the robot grasp two balls of radius 3 and 4 cm.
\end{normalsize}